package com.recruit.g1.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

/**
 * 角色枚举类
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum Roles {
    //1.此枚举类的三个实例(本枚举类的三个对象)
    ADMIN(0,"平台管理员"),
    COMPANY(1,"企业账号"),
    USER(2,"个人用户");

    //2.此枚举类的两个成员变量
    private Integer type;//表示角色类型的int数值
    private String discription;//表示角色类型的文字信息

    //3.get方法： 获取类型角色类型type的int数值
    public Integer getType() {
        return type;
    }

    //4.构造方法
    Roles(int t, String des) {
        this.type=t;
        this.discription=des;
    }

    //5.根据表示角色类型的int数值，返回对应的角色枚举实例(Role对象)
    public static Roles getFromType(Integer type) {
        for (Roles role : values()) {
            if (role.getType().equals(type)) {
                return role;
            }
        }
        throw new IllegalArgumentException("不存在对应角色:"+type);
    }
}
